/*
 * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
 *
 * https://www.mall4j.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */
package com.yami.shop.dao;


import com.yami.shop.bean.dto.flow.CustomerRetainedDTO;
import com.yami.shop.bean.dto.flow.MemberReqDTO;
import com.yami.shop.bean.param.MemberOverviewParam;
import com.yami.shop.bean.param.MemberReqParam;
import com.yami.shop.bean.vo.flow.CustomerRetainVO;
import com.yami.shop.bean.vo.flow.MemberDealVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * @author yami
 */
@Repository
public interface CustomerAnalysisMapper {

	/**
	 * 获取会员调查信息列表
	 *
	 * @param startTime      起始时间
	 * @param memberReqParam 客户参数
	 * @return 会员调查信息列表
	 */
	List<MemberOverviewParam> generalize(@Param("startTime") Date startTime, @Param("memberReqParam") MemberReqParam memberReqParam);

	/**
	 * 获取领券会员列表
	 *
	 * @param param
	 * @return 领券会员数
	 */
	Integer countMemberCouponByParam(@Param("param") MemberReqDTO param);

	/**
	 * @param param
	 * @param type  0:老会员 1:新会员
	 * @return
	 */
	List<MemberDealVO> getMemberPayData(@Param("param") MemberReqDTO param, @Param("type") Integer type);

	List<CustomerRetainVO> getTradeRetained(@Param("param") CustomerRetainedDTO customerRetainedDTO);


//    List<MemberOverviewListParam> generalizeList(@Param("memberReqParam") MemberReqParam memberReqParam);
}
